package com.zzx.project.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzx.project.entity.Article;
import com.zzx.project.entity.Tag;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ArticleDao extends BaseMapper<Article> { //文章Dao
    //添加文章
    int addArticle(@Param("article") Article article, @Param("uid") String uid);
    //获取用户所发的最新文章
    Article getNewArticleByUname(@Param("userName") String userName);
    //获取三级文章
    List<Article> getLevelThree();
    //获取一级文章
    List<Article> getLevelOne();
    //获取一级文章数量
    int getLevelOneCount();
    //获取所有文章数量
    int getAllArticleCount();
    //搜索文章
    List<Article> getArticleBySearch(@Param("content") String content);
    //获取热门文章
    List<Article> getHotArticle();
    //获取猜你喜欢文章
    List<Article> getRecommend();
    //获取每日一更文章
    List<Article> getRandomArticle();
    //根据栏目获取文章
    List<Article> getArticleByColumn(@Param("column") int column);
    //获取ID文章
    Article getArticleById(@Param("id") int id);
    //根据首页页码获取文章
    List<Article> getArticleForPage(@Param("pageNo") int pageNo);
    //根据标签名获得对应文章
    List<Article> getArticlesByTagName(@Param("tname") String tname);
    //添加观众
    void addAudience(@Param("uids") String uids, @Param("aid") int aid);
    //用户点赞
    int addSupportById(@Param("uids") String uids, @Param("aid") int aid);
}
